﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EntidadesDeNegocio
{
    public class ComponenteFabricacion: IVisitor
    {
        /// <summary>
        /// Medio por el cual se chequea el estado de fabricación
        /// </summary>
        public MedioComponente MedioChequeo { get; set; }
        /// <summary>
        /// Estado de fabricación
        /// </summary>
        public bool EstadoDeFabricacion { get; set; }
        /// <summary>
        /// Constructor por defecto
        /// </summary>
        public ComponenteFabricacion() 
        {
            EstadoDeFabricacion = true;
        }

        public void VisitorRobot(Robot robot)
        {
            if (robot.Medio != MedioChequeo && EstadoDeFabricacion)
                EstadoDeFabricacion = false;
        }

        public void VisitorPiezaAcuatica(PiezaAcuatica piezaAcuatica)
        {
            if (piezaAcuatica.Medio != MedioChequeo && EstadoDeFabricacion)
                EstadoDeFabricacion = false;
        }

        public void VisitorPiezaAerea(PiezaAerea piezaAerea)
        {
            if (piezaAerea.Medio != MedioChequeo && EstadoDeFabricacion)
                EstadoDeFabricacion = false;
        }

        public void VisitorPiezaTerrestre(PiezaTerrestre piezaTerrestre)
        {
            if (piezaTerrestre.Medio != MedioChequeo && EstadoDeFabricacion)
                EstadoDeFabricacion = false;
        }
    }
}
